package com.dpiinc.TechPage.user.utils;

//import com.baidu.ocr.sdk.OCR;
//import com.baidu.ocr.sdk.OnResultListener;
//import com.baidu.ocr.sdk.exception.OCRError;
//import com.baidu.ocr.sdk.model.AccessToken;
//import com.baidu.ocr.sdk.model.OcrRequestParams;
//import com.baidu.ocr.sdk.model.OcrResponseResult;
import com.dpiinc.TechPage.model.ocrbean.OcrResultBean;

/**
 * Created by hu489_000 on 2018-07-15.
 */

public class BaiduOcrHelper {
    public interface ServiceListener {
        public void onResult(OcrResultBean mOcrResultBean);

        public void onFail(String result);
    }

    public static String TAG = "BaiduOcrHelper";

    public static String BaiduOcrHelpertoken = null;
//
//    public static void initAccessTokenWithAkSk(Context context, final String filePath) {
//        OCR.getInstance(context).initAccessTokenWithAkSk(new OnResultListener<AccessToken>() {
//            @Override
//            public void onResult(AccessToken result) {
//                // 调用成功，返回AccessToken对象
//                BaiduOcrHelpertoken = result.getAccessToken();
//                BaiduOcrHelper.getResult(filePath);
//            }
//
//            @Override
//            public void onError(OCRError error) {
//                // 调用失败，返回OCRError子类SDKError对象
//            }
//        }, context.getApplicationContext(), "btjqWqmP86D0vN8ttjArVfjN", "bEavZ8sB1mrkLVfMsFj25cCQ1oTEXgGQ");
//    }
//
//    public static void recognizeGeneralBasic(Context context, String filePath, final ServiceListener listener) {
//
//        OcrRequestParams param = new OcrRequestParams();
//        param.setImageFile(new File(filePath));
//        try {
//            OCR.getInstance(context).recognizeHandwriting(param, new OnResultListener<OcrResponseResult>() {
//                @Override
//                public void onResult(OcrResponseResult result) {
//                    Log.d(TAG, "onResult result = " + result.getJsonRes());
//                    Gson gson = new Gson();
//                    OcrResultBean mOcrResultBean = gson.fromJson(result.getJsonRes(), OcrResultBean.class);
//
//                    listener.onResult(mOcrResultBean);
//                }
//
//                @Override
//                public void onError(OCRError error) {
//                    listener.onFail(error.getMessage());
//                }
//            });
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    public static void getResult(String filePath) {
//        OkHttpClient okHttpClient = new OkHttpClient();
//        //Form表单格式的参数传递
//        FormBody formBody = new FormBody
//                .Builder()
//                .add("image", bitmaptoString(filePath))//设置参数名称和参数值
//                .build();
//        Request request = new Request
//                .Builder()
//                .post(formBody)//Post请求的参数传递
//                .url("https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting?access_token=" + BaiduOcrHelpertoken)
//                .addHeader("Content-Type", "application/x-www-form-urlencoded")
//                .build();
//        okHttpClient.newCall(request).enqueue(new Callback() {
//            @Override
//            public void onFailure(Call call, IOException e) {
//                Log.d(TAG, "onFailure call" + call);
//                e.printStackTrace();
//            }
//
//            @Override
//            public void onResponse(Call call, Response response) throws IOException {
//                //此方法运行在子线程中，不能在此方法中进行UI操作。
//                String result = response.body().string();
//                Log.d("androixx.cn", result);
//                response.body().close();
//            }
//        });
//    }
//
//    public static String bitmaptoString(String filePath) {
//
//        BitmapFactory.Options bmOptions = new BitmapFactory.Options();
//        Bitmap bitmap = BitmapFactory.decodeFile(filePath, bmOptions);
//
//
//        // 将Bitmap转换成字符串
//
//        String string = null;
//
//        ByteArrayOutputStream bStream = new ByteArrayOutputStream();
//
//        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bStream);
//
//        byte[] bytes = bStream.toByteArray();
//
//        string = Base64.encodeToString(bytes, Base64.DEFAULT);
//
//        return string;
//    }


}
